const http = require("http")
const url = require('url')
const fs = require('fs')
const path = require("path")
const mime = require('./mime.json')
const server = http.createServer((req, res) => {
    // 设置头部
    res.setHeader("content-type", "text/html;charset=utf-8")
    // 设置返回状态码
    // res.writeHead(300, { "content-type": "text/html;charset=utf-8" })
    // 设置路由
    let urlObj = url.parse(req.url)
    console.log(urlObj)
    // if (req.url === "/" || req.url === "/index") {
    //     res.end("hello world")
    // } else if (req.url === "/info") {
    //     // 访问 /info会有下面这些信息
    //     res.end("个人信息")
    // }
    if (urlObj.pathname === "/" || urlObj.pathname === "/index") {
        // 读取html 文件
        let indexData = fs.readFileSync('./moban01.html')
        // 然后发送
        res.end(indexData)
        // 页面如果很大的话性能会有损失 那么我们可以使用流方式
    } else if (urlObj.pathname === "/info") {
        // 访问 /info会有下面这些信息
        // res.end("个人信息")
        //通过流方式
        let infoData = fs.createReadStream("./info.html")
        infoData.pipe(res)
    } else {
        // 获取拓展名
        let ext = path.extname(urlObj.pathname)
        // 根据 mime 规则进行配置头部
        res.setHeader("content-type", mime[ext])
        // 如果html 页面里面有引入静态文件
        let fileData = fs.createReadStream('.' + urlObj.pathname)
        fileData.pipe(res)
    }
})
server.listen(3000)